package com.xuxueli.executor.carte.model;

import org.pentaho.di.cluster.SlaveServer;
import org.pentaho.di.core.Result;
import org.pentaho.di.core.logging.LogLevel;
import org.pentaho.di.repository.Repository;
import org.pentaho.di.trans.debug.TransDebugMeta;

import java.util.Date;
import java.util.Map;

/**
 * @Author: 遛猫达人
 * @Description: TODO
 * @DateTime: 2021/10/3 17:24
 **/
public class TransExecutionConfiguration {
    private String taskObjId;
    private String fileUrl;
    private String callbackUrl;
    private boolean executingLocally;

    private boolean executingRemotely;
    private boolean passingExport;

    private boolean executingClustered;
    private boolean clusterPosting;
    private boolean clusterPreparing;
    private boolean clusterStarting;
    private boolean clusterShowingTransformation;

    private Map<String, String> arguments;
    private Map<String, String> params;
    private Map<String, String> variables;

    private Date replayDate;
    private boolean safeModeEnabled;
    private LogLevel logLevel;
    private boolean clearingLog;

    private Result previousResult;

    private boolean gatheringMetrics;
    private boolean showingSubComponents;
    private boolean setLogfile;
    private boolean setAppendLogfile;
    private String logFileName;
    private boolean createParentFolder;
    private Long passedBatchId;

    private String runConfiguration;
    private boolean logRemoteExecutionLocally;
    public String getTaskObjId() {
        return taskObjId;
    }

    public void setTaskObjId(String taskObjId) {
        this.taskObjId = taskObjId;
    }

    public String getFileUrl() {
        return fileUrl;
    }

    public void setFileUrl(String fileUrl) {
        this.fileUrl = fileUrl;
    }

    public String getCallbackUrl() {
        return callbackUrl;
    }

    public void setCallbackUrl(String callbackUrl) {
        this.callbackUrl = callbackUrl;
    }

    public boolean isExecutingLocally() {
        return executingLocally;
    }

    public void setExecutingLocally(boolean executingLocally) {
        this.executingLocally = executingLocally;
    }

    public boolean isExecutingRemotely() {
        return executingRemotely;
    }

    public void setExecutingRemotely(boolean executingRemotely) {
        this.executingRemotely = executingRemotely;
    }

    public boolean isPassingExport() {
        return passingExport;
    }

    public void setPassingExport(boolean passingExport) {
        this.passingExport = passingExport;
    }

    public boolean isExecutingClustered() {
        return executingClustered;
    }

    public void setExecutingClustered(boolean executingClustered) {
        this.executingClustered = executingClustered;
    }

    public boolean isClusterPosting() {
        return clusterPosting;
    }

    public void setClusterPosting(boolean clusterPosting) {
        this.clusterPosting = clusterPosting;
    }

    public boolean isClusterPreparing() {
        return clusterPreparing;
    }

    public void setClusterPreparing(boolean clusterPreparing) {
        this.clusterPreparing = clusterPreparing;
    }

    public boolean isClusterStarting() {
        return clusterStarting;
    }

    public void setClusterStarting(boolean clusterStarting) {
        this.clusterStarting = clusterStarting;
    }

    public boolean isClusterShowingTransformation() {
        return clusterShowingTransformation;
    }

    public void setClusterShowingTransformation(boolean clusterShowingTransformation) {
        this.clusterShowingTransformation = clusterShowingTransformation;
    }

    public Map<String, String> getArguments() {
        return arguments;
    }

    public void setArguments(Map<String, String> arguments) {
        this.arguments = arguments;
    }

    public Map<String, String> getParams() {
        return params;
    }

    public void setParams(Map<String, String> params) {
        this.params = params;
    }

    public Map<String, String> getVariables() {
        return variables;
    }

    public void setVariables(Map<String, String> variables) {
        this.variables = variables;
    }

    public Date getReplayDate() {
        return replayDate;
    }

    public void setReplayDate(Date replayDate) {
        this.replayDate = replayDate;
    }

    public boolean isSafeModeEnabled() {
        return safeModeEnabled;
    }

    public void setSafeModeEnabled(boolean safeModeEnabled) {
        this.safeModeEnabled = safeModeEnabled;
    }

    public LogLevel getLogLevel() {
        return logLevel;
    }

    public void setLogLevel(LogLevel logLevel) {
        this.logLevel = logLevel;
    }

    public boolean isClearingLog() {
        return clearingLog;
    }

    public void setClearingLog(boolean clearingLog) {
        this.clearingLog = clearingLog;
    }


    public Result getPreviousResult() {
        return previousResult;
    }

    public void setPreviousResult(Result previousResult) {
        this.previousResult = previousResult;
    }


    public boolean isGatheringMetrics() {
        return gatheringMetrics;
    }

    public void setGatheringMetrics(boolean gatheringMetrics) {
        this.gatheringMetrics = gatheringMetrics;
    }

    public boolean isShowingSubComponents() {
        return showingSubComponents;
    }

    public void setShowingSubComponents(boolean showingSubComponents) {
        this.showingSubComponents = showingSubComponents;
    }

    public boolean isSetLogfile() {
        return setLogfile;
    }

    public void setSetLogfile(boolean setLogfile) {
        this.setLogfile = setLogfile;
    }

    public boolean isSetAppendLogfile() {
        return setAppendLogfile;
    }

    public void setSetAppendLogfile(boolean setAppendLogfile) {
        this.setAppendLogfile = setAppendLogfile;
    }

    public String getLogFileName() {
        return logFileName;
    }

    public void setLogFileName(String logFileName) {
        this.logFileName = logFileName;
    }

    public boolean isCreateParentFolder() {
        return createParentFolder;
    }

    public void setCreateParentFolder(boolean createParentFolder) {
        this.createParentFolder = createParentFolder;
    }

    public Long getPassedBatchId() {
        return passedBatchId;
    }

    public void setPassedBatchId(Long passedBatchId) {
        this.passedBatchId = passedBatchId;
    }

    public String getRunConfiguration() {
        return runConfiguration;
    }

    public void setRunConfiguration(String runConfiguration) {
        this.runConfiguration = runConfiguration;
    }

    public boolean isLogRemoteExecutionLocally() {
        return logRemoteExecutionLocally;
    }

    public void setLogRemoteExecutionLocally(boolean logRemoteExecutionLocally) {
        this.logRemoteExecutionLocally = logRemoteExecutionLocally;
    }
}
